Selecting a content item based on a view profile

ABSTRACT

Users consume media in a variety of ways. Media may be consumed primarily for the audio, primarily for the video, or for a combination of the audio and the video. The selection and serving of a content item may be performed such that a content item profile of the served content item that matches how the media is being consumed may be preferred during selection by a content selection service. The selection of a content item by the content selection service may be based on an aggregate view profile for the media and a content item profile for a candidate content item. In some instances, a current view profile may also be used. The selected content item may be served to effect presentation of the selected content item with the media.

BACKGROUND

In a networked environment, such as the Internet or other networks,first-party content providers can provide information for publicpresentation on resources, for example web pages, documents,applications, and/or other resources. The first-party content caninclude text, video, and/or audio information provided by thefirst-party content providers via, for example, a resource server forpresentation on a client device over the Internet. Additionally,third-party content items can also be provided by third-party contentitem providers for presentation on the client device together with thefirst-party content provided by the first-party content providers. Thus,a person viewing a resource can access the first-party content that isthe subject of the resource, as well as the content item that may or maynot be related to the subject matter of the resource. In some instances,a content item (e.g., an advertisement) may be presented with media,such as a visual presentation, an audio presentation, or an audio-visualpresentation, to a user of a client device.

SUMMARY

One implementation disclosed herein is a method to serve a content itembased on a view profile. The method includes receiving a request for acontent item from a client device. The method also includes determiningan aggregate view profile for a first media. The aggregate view profilemay be based, at least in part, on aggregated values indicative of aratio of audio and video. Each value may be based on a previouslyreceived view profile. The method includes receiving a content itemprofile for a content item. The method further includes comparing theaggregate view profile and the content item profile. The method includesserving the content item responsive to the request from the clientdevice based, at least in part, on the comparison of the aggregate viewprofile and the content item profile.

Another implementation disclosed herein is a system including one ormore processors and a storage device storing instructions that, whenexecuted by the one or more processors, cause the one or more processorsto perform several operations. The operations include receiving arequest for a content item from a client device. The operations alsoinclude receiving an aggregate view profile for a first media. Theoperations further include determining a current view profile of theclient device for the first media. The operations still further includereceiving a plurality of content item profiles for a plurality ofcandidate content items. The operations include selecting a candidatecontent item of the plurality of candidate content items based, at leastin part, on the received aggregate view profile, the determined currentview profile, and the plurality of content item profiles. The operationsalso include serving, responsive to the request from the client device,the selected candidate content item.

An implementation disclosed herein is a computer-readable storage mediumhaving machine instructions stored therein that, when executed by one ormore processors, cause the one or more processors to perform severaloperations. The operations include receiving a current view profile of aclient device for a first media and receiving a first aggregate viewprofile for the first media. The operations further include determininga modifier based, at least in part, on the current view profile and theaggregate view profile. The operations still further include modifying aquality score of a content item based, at least in part, on the modifierand a content item profile associated with the content item. Theoperations also include serving the content item responsive to a requestfrom the client device.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,aspects, and advantages of the disclosure will become apparent from thedescription, the drawings, and the claims, in which:

FIG. 1 is a block diagram of a computer system in which a content itemis selected for presentation with first-party content, according to animplementation;

FIG. 2 is a block diagram of an example mobile device having severalsensors, according to an implementation;

FIG. 3 is an illustration of an example web page that displays mediaalong with a content item, according to an implementation;

FIG. 4 is a flow diagram of an example process for providing a contentitem to a client device based on an aggregate view profile; according toan implementation;

FIG. 5 is a flow diagram of another example process for providing acontent item to a client device based on an aggregate view profile;according to an implementation; and

FIG. 6 is a flow diagram of an example process for generating a currentview profile, according to an implementation.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

In a general overview, a content item (e.g., an advertisement) may bedisplayed along with media to a user. In some instances, the media maybe presented in an audio-visual format even if the media is primarilyaudio, primarily video, or some combination thereof. A hosting orsharing site is a popular method to consume media and present contentitems while consuming the media. However, media may be uploaded to sharejust the audio (e.g., a newly released song or speech) or just to showimages or video (e.g., slideshows).

For media that is audio-centric (e.g., a new released song), a user maysimply play the media to listen to the audio portion and may ignore anyvideo or other imagery being presented. For example, the user may leavea client device upon which the media is presented, such as a phone,tablet, PC, etc., alone with the volume turned up, but the user is notwatching the screen or images. Accordingly, serving an audio-visualcontent item before, after, or during the playback of the media may beless effective as the user will may only hear the audio of the servedcontent item without the images presented. Similarly, serving avisual-centric content item before, after, or during the playback of themedia may be less effective as the user may not even view the video orimages of the served content item.

Similarly, for media that is video-centric (e.g., a slideshow ofmountain scenery), the user may view the media without regard to theaudio. This means that the user may be purposefully mute any audio(e.g., if watching a video in class or presenting a slideshow) or maynot care if the audio is muted or speakers are not connected.Accordingly, serving an audio-visual content item before, after, orduring the playback of the media may be less effective as the user willmay only see the video or images of the served content item without theaudio presented. Similarly, serving an audio-centric content itembefore, after, or during the playback of the media may be less effectiveas the user may not even hear the audio of the served content item orthe audio may be disruptive (e.g., having an audio content iteminterrupt a presentation).

Accordingly, it may be useful to determine a profile for the media itemsuch that a content item similar to the profile for the media item maybe served with the presentation of the media item. In someimplementations, such a profile may be determined via analysis of thevideo content (e.g., frame-by-frame analysis or the like) and/or viaanalysis of the audio content (e.g., audio track analysis or the like).However, such analysis may not necessarily align with how users consumethe media, especially as such consumption may evolve over time. Forexample, a user may only watch a music video once but may play it overand over for the music, without regard to the video.

Thus, a profile based on how one or more users interact with media maybe used to provide a relevant content item to the user. For example, ifusers consume the media in a certain manner, then a content item may beselected and served to a user based, at least in part, on how well aprofile of the content item matches the profile of how users consume themedia. For example, users may generally only consume the audio componentof the media, and, therefore, the served content item should be anaudio-centric content item.

In some implementations, a current view profile may be determined forhow each user is currently interacting with the media. The current viewprofile may be used to determine a content item to serve to a user,either alone or in combination with an aggregate view profile for themedia, which is generated based on how one or more users previouslyinteracted with the media.

Referring to FIG. 1, a block diagram of a system 100 in accordance witha described implementation is shown. System 100 includes a client device102 which communicates with other computing devices via a network 106.Client device 102 may execute a web browser or other application (e.g.,a video game, a messenger program, a media player, a social networkingapplication, etc.) to retrieve a resource having content from otherdevices over network 106. For example, client device 102 may communicatewith any number of content sources 108, 110 (e.g., a first contentsource through nth content source). Content sources 108, 110 may provideresource data (e.g., webpage data) and/or other data to present content,such as images, video, and audio, to client device 102. System 100 mayalso include a content selection service 104 configured to select acontent item to be provided to client device 102. For example, contentsource 108 may provide a first-party webpage to client device 102 thatincludes additional content items selected by content selection service104.

Network 106 may be any form of computer network that relays informationbetween client device 102, content sources 108, 110, and contentselection service 104. For example, network 106 may include the Internetand/or other types of data networks, such as a local area network (LAN),a wide area network (WAN), a cellular network, satellite network, orother types of data networks. Network 106 may also include any number ofcomputing devices (e.g., computer, servers, routers, network switches,etc.) that are configured to receive and/or transmit data within network106. Network 106 may further include any number of hardwired and/orwireless connections. For example, client device 102 may communicatewirelessly (e.g., via WiFi, cellular, radio, etc.) with a transceiverthat is hardwired (e.g., via a fiber optic cable, a CAT6 cable, etc.) toother computing devices in network 106.

Client device 102 may be any number of different types of userelectronic devices configured to communicate via network 106 (e.g., alaptop computer, a desktop computer, a tablet computer, a smartphone, adigital video recorder, a set-top box for a television, a video gameconsole, combinations thereof, etc.). In some implementations, the typeof client device 102 may be categorized as being a mobile device, adesktop device (e.g., a device intended to remain stationary orconfigured to primarily access network 106 via a local area network), oranother category of electronic devices (e.g., tablet devices may be athird category, etc.). Client device 102 is shown to include a processor112 and a memory 114, i.e., a processing circuit. Memory 114 may storemachine instructions that, when executed by processor 112 causeprocessor 112 to perform one or more of the operations described herein.Processor 112 may include a microprocessor, ASIC, FPGA, etc., orcombinations thereof. Memory 114 may include, but is not limited to,electronic, optical, magnetic, or any other storage or transmissiondevice capable of providing processor 112 with program instructions.Memory 114 may include a floppy disk, CD-ROM, DVD, magnetic disk, memorychip, ROM, RAM, EEPROM, EPROM, flash memory, optical media, or any othersuitable memory from which processor 112 can read instructions. Theinstructions may include code from any suitable computer programminglanguage such as, but not limited to, C, C++, C#, Java, JavaScript,Perl, HTML, XML, Python and Visual Basic.

Client device 102 may include one or more user interface devices. A userinterface device may be any electronic device that conveys data to auser by generating sensory information (e.g., a visualization on adisplay, one or more sounds, tactile feedback, etc.) and/or convertsreceived sensory information from a user into electronic signals (e.g.,a keyboard, a mouse, a pointing device, a touch screen display, amicrophone, etc.). The one or more user interface devices may beinternal to the housing of client device 102 (e.g., a built-in display,microphone, etc.) or external to the housing of client device 102 (e.g.,a monitor connected to client device 102, a speaker connected to clientdevice 102, etc.), according to various implementations. For example,client device 102 may include an electronic display 116, which displayswebpages and other data received from content sources 108, 110 and/orcontent selection service 104. In various implementations, display 116may be located inside or outside of the same housing as that ofprocessor 112 and/or memory 114. For example, display 116 may be anexternal display, such as a computer monitor, television set, or anyother stand-alone form of electronic display. In other examples, display116 may be integrated into the housing of a laptop computer, mobiledevice, or other form of computing device having an integrated display.

Content sources 108, 110 may be one or more electronic devices connectedto network 106 that provide content to devices connected to network 106.For example, content sources 108, 110 may be computer servers (e.g., FTPservers, file sharing servers, web servers, etc.) or combinations ofservers (e.g., data centers, cloud computing platforms, etc.). Contentmay include, but is not limited to, resource data (e.g., webpage data),a text file, a spreadsheet, images, search results, other forms ofelectronic documents, and applications executable by client device 102.For example, content source 108 may be an online search engine thatprovides search result data to client device 102 in response to a searchquery. In another example, content source 110 may be a first-party webserver that provides webpage data to client device 102 in response to arequest for the webpage. Similar to client device 102, content sources108, 110 may include processors 122, 126 and memories 124, 128,respectively, that store program instructions executable by processors122, 126. For example, the processing circuit of content source 108 mayinclude instructions such as web server software, FTP serving software,and other types of software that cause content source 108 to providecontent via network 106.

According to various implementations, any of content sources 108, 110may provide first-party resource data to client device 102 that includesone or more content item tags. In general, a content item tag refers toany piece of webpage code associated with the action of including acontent item with a first-party webpage. For example, a content item tagmay define a content item slot on a webpage for a content item, a slotfor out of page a content item (e.g., an interstitial slot), whether acontent item should be loaded asynchronously or synchronously, whetherthe loading of the content item should be disabled on the webpage,whether the content item that loaded unsuccessfully should be refreshed,the network location of a content source that provides the content item(e.g., content sources 108, 110, content selection service 104, etc.), anetwork location (e.g., a URL) associated with clicking on the contentitem, how the content item is to be rendered on a display, a commandthat causes client device 102 to set a browser cookie (e.g., via a pixeltag that sets a cookie via an image request), one or more keywords usedto retrieve the content item, and other functions associated withproviding a content item with a first-party webpage. For example,content source 108 may serve first-party webpage data to client device102 that causes client device 102 to retrieve a content item fromcontent selection service 104. In another implementation, content may beselected by content selection service 104 and provided by content source108 as part of the first-party webpage data sent to client device 102.In a further example, content selection service 104 may cause clientdevice 102 to retrieve a content item from a specified location, such asmemory 114 or content sources 108, 110.

Content selection service 104 may also be one or more electronic devicesconnected to network 106. Content selection service 104 may be acomputer server (e.g., FTP servers, file sharing servers, web servers,etc.) or a combination of servers (e.g., a data center, a cloudcomputing platform, etc.). Content selection service 104 may have aprocessing circuit including a processor 118 and a memory 120 thatstores program instructions executable by processor 118. In cases inwhich content selection service 104 is a combination of computingdevices, processor 118 may represent the collective processors of thedevices and memory 120 may represent the collective memories of thedevices.

Content selection service 104 may be configured to select a content itemfor client device 102. In an implementation, the selected content itemmay be provided by content selection service 104 to client device 102via network 106. For example, content source 110 may upload the contentitem to content selection service 104. Content selection service 104 maythen provide the content item to client device 102 to be presented inconjunction with first-party content provided by any of content sources108, 110. In other implementations, content selection service 104 mayprovide an instruction to client device 102 that causes client device102 to retrieve the selected content item (e.g., from memory 114 ofclient device 102, from content source 110, etc.). For example, contentselection service 104 may select a content item to be provided as partof a first-party webpage being visited by client device 102 or within afirst-party application being executed by client device 102 (e.g.,within a game, messenger application, etc.).

In some implementations, content selection service 104 may be configuredto select content based on a device identifier associated with clientdevice 102. In general, a device identifier refers to any form of datathat may be used to represent a device or software that receives contentselected by content selection service 104. In some implementations, adevice identifier may be associated with one or more other deviceidentifiers (e.g., a device identifier for a mobile device, a deviceidentifier for a home computer, etc.). Device identifiers may include,but are not limited to, cookies, device serial numbers, user profiledata, or network addresses. For example, a cookie set on client device102 may be used to identify client device 102 to content selectionservice 104.

For situations in which the systems discussed herein collect personalinformation about a user, or may make use of personal information, theuser may be provided with an opportunity to control which programs orfeatures collect such information, the types of information that may becollected (e.g., information about a user's social network, socialactions or activities, a user's preferences, a user's current location,etc.), and/or how a content item may be selected by content selectionservice 104 and presented to the user. Certain data, such as a deviceidentifier, may be anonymized in one or more ways before it is stored orused, so that personally identifiable information is removed whengenerating parameters (e.g., demographic parameters) used by contentselection service 104 to select a content item. For example, a deviceidentifier for client device 102 may be anonymized so that no personallyidentifiable information about its corresponding user can be determinedby content selection service 104 from it. In another example, a user'sgeographic location may be generalized where location information isobtained (such as to a city, ZIP code, or state level), so that aprecise location of the user cannot be determined. Thus, the user ofclient device 102 may have control over how information is collectedabout him or her and used by content selection service 104.

If the user of client device 102 has elected to allow content selectionservice 104 to use information regarding him or her, content selectionservice 104 may use history data associated with a device identifier toselect relevant content for the corresponding user. History data may beany data associated with a device identifier that is indicative of anonline event (e.g., visiting a webpage, interacting with presentedcontent, conducting a search, making a purchase, downloading content,etc.). Based in part on the analyzed history data, content selectionservice 104 may select a content item to be provided in conjunction withfirst-party content (e.g., as part of a displayed webpage, as a pop-up,within a video game, within another type of application, etc.).Additional data associated with a device identifier may include, but isnot limited to, the device type of client device 102 (e.g., whetherclient device 102 is a desktop or mobile device), the location of clientdevice 102, or a search query generated by client device 102. Forexample, content selection service 104 may select a content item to beprovided as part of a first-party webpage or in conjunction with searchresults from one of content sources 108, 110.

Content selection service 104 may analyze the history data associatedwith a device identifier to identify one or more topics that may be ofinterest. For example, content selection service 104 may perform textand/or image analysis on a webpage from content source 108, to determineone or more topics of the webpage. In some implementations, a topic maycorrespond to a predefined interest category used by content selectionservice 104. For example, a webpage devoted to the topic of golf may beclassified under the interest category of sports. In some cases,interest categories used by content selection service 104 may conform toa taxonomy (e.g., an interest category may be classified as fallingunder a broader interest category). For example, the interest categoryof golf may be /Sports/Golf, /Sports/Individual Sports/Golf, or underany other hierarchical category. Similarly, content selection service104 may analyze the content of a first-party webpage accessed by clientdevice 102 to identify one or more topical categories for the webpage.For example, content selection service 104 may use text or imagerecognition on the webpage to determine that the webpage is devoted tothe topical category of /Sports/Golf.

Content selection service 104 may receive history data indicative of oneor more online events associated with a device identifier. Inimplementations in which a content tag causes client device 102 torequest content from content selection service 104, such a request mayinclude a device identifier for client device 102 and/or additionalinformation (e.g., the webpage being loaded, the referring webpage,etc.). For example, content selection service 104 may receive and storehistory data regarding whether or not a content item provided to clientdevice 102 was selected using an interface device (e.g., the user ofclient device 102 clicked on a third-party hyperlink, third-party image,etc.). Content selection service 104 may store such data to record ahistory of online events associated with a device identifier. In somecases, client device 102 may provide history data to content selectionservice 104 without first executing a content tag. For example, clientdevice 102 may periodically send history data to content selectionservice 104 or may do so in response to receiving a command from a userinterface device. In some implementations, content selection service 104may receive history data from content sources 108, 110. For example,content source 108 may store history data regarding web transactionswith client device 102 and provide the history data to content selectionservice 104.

Content selection service 104 may apply one or more weightings to aninterest or product category, to determine whether the category is to beassociated with a device identifier. For example, content selectionservice 104 may impose a maximum limit to the number of product orinterest categories associated with a device identifier. The topn-number of categories having the highest weightings may then beselected by content selection service 104 to be associated with aparticular device identifier. A category weighting may be based on, forexample, the number of webpages visited by the device identifierregarding the category, when the visits occurred, how often the topic ofthe category was mentioned on a visited webpage, or any online actionsperformed by the device identifier regarding the category. For example,topics of more recently visited webpages may receive a higher weightingthan webpages that were visited further in the past. Categories may alsobe subdivided by the time periods in which the webpage visits occurred.For example, the interest or product categories may be subdivided intolong-term, short-term, and current categories, based on when the deviceidentifier visited a webpage regarding the category.

Content selection service 104 may be configured to conduct a contentauction among content item providers to determine which content item isto be provided to client device 102. For example, content selectionservice 104 may conduct a real-time content auction in response toclient device 102 requesting first-party content from one of contentsources 108, 110 or executing a first-party application. Contentselection service 104 may use any number of factors to determine thewinner of the auction. For example, the winner of a content auction maybe based in part on the third-party provider's bid and/or a qualityscore for the third-party provider's content (e.g., a measure of howlikely the user of client device 102 is to click on the content). Inother words, the highest bidder is not necessarily the winner of acontent auction conducted by content selection service 104, in someimplementations.

Content selection service 104 may be configured to allow content itemproviders to create campaigns to control how and when the providerparticipates in content auctions. A campaign may include any number ofbid-related parameters, such as a minimum bid amount, a maximum bidamount, a target bid amount, or one or more budget amounts (e.g., adaily budget, a weekly budget, a total budget, etc.). In some cases, abid amount may correspond to the amount the third-party provider iswilling to pay in exchange for their content being presented at clientdevice 102. In other words, the bid amount may be on a cost perimpression or cost per thousand impressions (CPM) basis. In furthercases, a bid amount may correspond to a specified action being performedin response to the content item being presented at a client device. Forexample, a bid amount may be a monetary amount that the content itemprovider is willing to pay, should their content be clicked on at theclient device, thereby redirecting the client device to the provider'swebpage. In other words, a bid amount may be a cost per click (CPC) bidamount. In another example, the bid amount may correspond to an actionbeing performed on the third-party provider's website, such as the userof client device 102 making a purchase. Such bids are typically referredto as being on a cost per acquisition (CPA) or cost per conversionbasis.

A campaign or other grouping of content items created via contentselection service 104 may also include selection parameters that controlwhen a bid is placed on behalf of a content item provider in a contentauction. Any specified content selection parameters may be stored aspart of the account of the provider. If the content item is to bepresented in conjunction with search results from a search engine, forexample, the content selection parameters may include one or more setsof search keywords. For example, the content item provider may onlyparticipate in content auctions in which a search query for “golfresorts in California” is sent to a search engine. Other contentselection parameters that control when a bid is placed on behalf of acontent item provider may include, but are not limited to, a topicidentified using a device identifier's history data (e.g., based onwebpages visited by the device identifier), the topic of a webpage orother first-party content with which the content item is to bepresented, a geographic location of the client device that will bepresenting the content (e.g., a zip code, city, state, country, etc.), ageographic location specified as part of a search query, or a devicetype (e.g., mobile devices, desktop devices, tablet devices, etc.). Insome cases, a selection parameter may designate a specific webpage,website, or group of websites with which the content item is to bepresented. For example, an advertiser selling golf equipment may specifythat they wish to place an advertisement on the sports page of anparticular online newspaper.

Content selection service 104 may be configured to apportion apercentage of earnings from a content item provider to the provider ofthe first-party content with which the content item is presented. Forexample, content selection service 104 may apportion 40% of the revenuesreceived from a content item provider to the operator of content source108 whenever the content item is selected for presentation on a websitefrom content source 108. Thus, a first-party content provider mayreceive revenues in exchange for allowing content items to be providedwith the provider's content. Revenues apportioned to a first-partycontent provider by content selection service 104 may be based on thenumber of times a content item was provided to devices (e.g., based on anumber of impressions), based on whether or not a user clicked on thecontent item (e.g., a click count), or based on any other performancemetric.

An account of a first-party content provider in content selectionservice 104 may also include any number of content selection parametersthat control which content items are eligible for presentation with thecontent from the first-party provider. For example, a first-partycontent provider may specify to content selection service 104 the topicsof content items eligible for selection for the provider's content.Another content selection parameter may control whether content item toappear with the provider's content may be selected based on an interestcategory (e.g., the content item may be unrelated to the topic of thefirst-party content, but determined to be of relevance to a particularuser). Other content selection parameters may allow or prevent contentfrom specific content item providers, specific web addresses, specificwebsites, or the like.

Content selection service 104 may be configured to determine performancemetrics for a content provider. In an implementation, performancemetrics may correspond to revenues earned by a first-party contentprovider. In another implementation, performance metrics may correspondto how users responded to content items selected by content selectionservice 104. For example, content selection service 104 may determine animpression count (e.g., how many times a content item was presented), aclick count (e.g., how many times the presented content item wasclicked), a conversion count (e.g., how many times the clicked contentitem led to a sale or other desired online action), a click through rate(CTR), or a conversion rate (CVR). In some implementations, performancemetrics determined by content selection service 104 may be subdividedaccording to any number of different traffic characteristics. Potentialtraffic characteristics for the performance metrics may include, but arenot limited to, the geographic locations of devices accessing thecontent, the types of devices accessing the content (e.g., mobiledevices, tablet devices, desktop devices, etc.), the particularconfiguration of the devices accessing the content (e.g., operatingsystems, hardware settings, etc.), interest categories used to selectthe content item, the times in which the content is accessed (e.g.,broken down by minute, hour, day, week, month, etc.), predictedinformation about the users accessing the content, combinations thereof,or the like.

In some implementations, content selection service 104 may be configuredto monitor the performance metrics of a content provider across anynumber of different traffic characteristics or other classificationsused to subdivide the performance metrics. For example, contentselection service 104 may monitor the revenues earned by a first-partycontent provider broken down by the different device types that accesscontent from the provider (e.g., revenues for mobile devices, revenuesfor desktop devices, etc.). In an implementation, content selectionservice 104 may detect a change in the relationships between thesubdivided performance metrics. For example, content selection service104 may determine that the revenues of the provider attributable todevices located in the United States have overtaken the revenues of theprovider attributable to devices located in India. In someimplementations, content selection service 104 may predict whether achange in performance metrics across one or more traffic characteristicswill continue. For example, content selection service 104 may determinewhether a shift in the provider's revenues is likely to continue or is atemporary shift. Content selection service 104 may also generate andprovide a notification to a content provider if a shift is detected inthe performance metrics of the provider. For example, content selectionservice 104 may provide a notification to a device of a content providerindicating that mobile revenues have surpassed desktop revenues and thatthe trend is predicted to continue. Such a notification may be used bythe content provider to tailor the provider's content accordingly or ona purely informational basis. For example, a first-party contentprovider may optimize his or her website for mobile devices if theprovider's revenues have shifted towards an emphasis on mobile devices.

In an implementation, content selection service 104 may generate anotification based on an action or event associated with a contentprovider. An action or event triggering the monitoring of performancemetrics by content selection service 104 may include changes made to theprovider's account (e.g., by changing content selection parameters inthe provider's account), changes made to the provider's content (e.g.,by redesigning the provider's website), or the like. Content selectionservice 104 may monitor any performance metric changes subsequent to theaction or event in response to a request from the provider to do so(e.g., the provider elects to receive notifications) or automatically inresponse to the action or event. If a change in the provider'sperformance metrics is detected and attributable to the triggeringaction or event, content selection service 104 may generate and providea notification to the provider regarding the performance change. Forexample, content selection service 104 may generate a notification for afirst-party content provider indicating that the provider's revenueshave dropped by a certain amount or percentage as a result of theprovider blocking certain types of content items from appearing on theprovider's website.

FIG. 2 is a block diagram of an example mobile device 200 having severalsensors, according to an implementation. The mobile device 200, whichmay be a client device 102 of FIG. 1, includes several sensors 210, 212,a processor 214, a data storage device 216, a display 218, input/outputdevices 220, and a network transceiver 222. The mobile device 200include a smartphone, a cellular telephone, a tablet, a laptop, aportable media device, a wearable display or glasses, and/or any otherportable electronic device. The mobile device 200 may include a bus orother communication component for communicating information between thevarious components of the mobile device 200. The processor 214 may becoupled to the bus and/or otherwise for processing information, data,and/or instructions from one or more components of the mobile device200. The data storage device 216 may include dynamic storage devices,such as a RAM or other dynamic storage devices, and may be coupled tothe bus and/or otherwise for storing information, data, and/orinstructions to be executed by the processor 214. The data storagedevice 216 can also be used for storing position information, temporaryvariables, and/or other intermediate information during execution ofinstructions by the processor 214. In some instances, the data storagedevice 216 may include a static storage device, in addition to orinstead of the dynamic storage device, such as ROM, solid state drive(SSD), flash memory (e.g., EEPROM, EPROM, etc.), magnetic disc, opticaldisc, etc., that is coupled to the bus and/or otherwise for storingstatic information, data, and/or instructions for the processor 230.

The display 218 may be coupled via the bus and/or otherwise to othercomponents of the mobile device 200. The display may include a LiquidCrystal Display (LCD), Thin-Film-Transistor LCD (TFT), an Organic LightEmitting Diode (OLED) display, LED display, Electronic Paper display,Plasma Display Panel (PDP), and/or other display, etc., for displayinginformation to a user. The input/output devices 220 may include devicessuch as a keyboard having alphanumeric and other keys, a microphone, aspeaker, an LED, a trackball, a mouse, cursor direction keys, etc. thatmay be coupled to the bus for communicating information and/or commandselections to the processor 214. In another implementation, an inputdevice may be integrated with the display 218, such as in a touch screendisplay.

The network transceiver 222 may be configured to interface with anetwork, such as network 106 of FIG. 1. Examples of such a network mayinclude the Internet, local, wide, metro or other area networks,intranets, voice or data mobile device communication networks, and/orother networks. In one example, the network transceiver 222 may includevoice and/or data mobile device communication network through which themobile device 200 may communicate with remote devices, such as athird-party content item server, a content source 108, 110, and/orcontent selection service 104 of FIG. 1. The voice and/or data mobiledevice communication network may include those operating under thestandards of GSM, EDGE, GPRS, CDMA, UMTS, WCDMA, HSPA, HSPA+, LTE,and/or other mobile device network standards. In some implementations,the network transceiver 222 may include other network transceivers, suchas a WiFi™ transceiver, a Bluetooth® transceiver, a cellulartransceiver, an NFC transceiver, etc. In still further implementations,the mobile device 200 may include several network transceivers 222, suchthat the mobile device 200 may communicate with several networks. Ofcourse, other network transceivers 222 for the mobile device 200 tocommunicate with remote devices may be used as well.

According to various implementations, the processor 214 may execute anarrangement of instructions contained in the data storage device 216.Such instructions can be read into the data storage device 216 fromanother computer-readable medium. Execution of the arrangement ofinstructions contained in the data storage device 216 may cause themobile device 200 to perform various operations, such as reading dataoutput from one or more sensors 210, 212, transmitting data to a remotedevice via the network transceiver 222, displaying information on thedisplay 218, and/or otherwise. One or more processors in amulti-processing arrangement may also be employed to execute theinstructions contained in the data storage device 216. In alternativeimplementations, hard-wired circuitry may be used in place of or incombination with software instructions to effect the various operations.Thus, implementations are not limited to any specific combination ofhardware circuitry and software. Of course, other configurations orcomponents for mobile device 200 may be included.

The several sensors of the mobile device 200 may include a gyroscope 210and an accelerometer 212. In some implementations, other sensors may beincluded as well, such as a magnetometer, a barometer, a proximitysensor, a temperature sensor, a light sensor, a humidity sensor, anacoustic sensor, and/or other sensors. Of course mobile device 200 mayhave other features, components, etc. as well.

The gyroscope 210 may be communicatively coupled to the processor 214,the data storage device 216, the display 218, the input/output devices220, the network transceiver 222, and/or other components of the mobiledevice 200. The gyroscope 210 may include a microelectromechanicalsystem (MEMS) gyroscope, a vibrating structure gyroscope (VSG) (e.g., atuning fork gyroscope), and/or any other gyroscope. The gyroscope 210may be configured measure the rate of rotation of the mobile device 200about one, two, and/or three axes and/or the degrees of rotationrelative to one, two, and/or three axes. The values of the rates ofrotation and/or the values of the degrees of rotation may be output tothe processor 214, the data storage device 216, the network transceiver222, and/or any other component of the mobile device 200.

The accelerometer 212 may be communicatively coupled to the processor214, the data storage device 216, the display 218, the input/outputdevices 220, the network transceiver 222, and/or other components of themobile device 200. The accelerometer 212 may include a MEMSaccelerometer, a piezoelectric accelerometer, and/or any otheraccelerometer. The accelerometer 212 may be configured measure theacceleration of the mobile device 200 in one, two, and/or three axesand/or the direction of gravity relative to one, two, and/or three axes.The values of the accelerations and/or the values of the force ofgravity for the one, two, and/or three axes may be output to theprocessor 214, the data storage device 216, the network transceiver 222,and/or any other component of the mobile device 200.

While the foregoing describes some examples of sensors that may beincluded in a mobile device 200, still other sensors may be included aswell, such as atmospheric sensors, fluid velocity sensors, forcesensors, etc.

In some implementations, the values from the sensors 210, 212 may beread and transmitted via the network transceiver 222 in response toreceiving data via the network transceiver 222. For example, a mobiledevice 200 may request a resource, such as a mobile webpage, by sendingthe request for data for the resource to a content source, such ascontent source 108, 110, via the network transceiver 222. The contentsource may receive the request and transmit data to effect presentationof the resource having the content on the display 218 of the mobiledevice 200. The data for the resource may include one or more contentitem slots for displaying one or more content items, such asadvertisements, when the resource is presented for display by the mobiledevice 200. In some implementations, the data for the requested resourcemay include code or piece of code, such as a JavaScript® script, thatmay cause the processor 214 of the mobile device 200 to read one or morevalues from one or more sensors of the mobile device 200 and transmitthe one or more values to a remote device, such as content selectionservice 104, via the network transceiver 222. By way of example, the oneor more values from the one or more sensors of the mobile device 200 maybe appended to a content item request URL (e.g.,//contentitem.item/page/contentitem?party=abc123&sensor1=5&sensor2=7&sensor3=45or //contentitem.item/page/contentitem?party=abc123&devicestate=98765).Thus, one or more of the several sensors of the mobile device 200 mayhave the current values read and transmitted to a content selectionservice. Such values may be used by the content selection service todetermine a current view profile of the mobile device 200. In otherimplementations, the values may be used to modify or generate anaggregate view profile. As will be described in greater detail herein,such view profiles may be used to select a content item to be servedwith the requested resource. In other implementations, the sensor valuesmay be used to generate the current view profile by the processor 214 ofthe mobile device 200. That is, for example, a script may be sent to themobile device 200 that receives the sensor values as input (amongstother inputs) and outputs a numerical value, e.g., 0.6, for a currentview profile that is indicative of a probable ratio of audio and videofor the current view profile. The current view profile and aggregateview profile will be described in greater detail below in reference toFIGS. 4-6.

FIG. 3 is an illustration of an example resource 300, such as a webpage,that may be provided for display on a display of a client device, suchas client device 102 of FIG. 1 or mobile device 200 of FIG. 2. Theresource 300 includes media content 302 displayed along with a contentitem 304. The media 302 may be an audio-visual presentation, such as amusic video, a television show, etc., an audio-centric or audio-onlypresentation, such as a song or speech without images or video, and/or avideo-centric or video-only presentation, such as a slideshow. Theresource 300 also includes a slot for a content item 304 to be displayedto a user before, after, or during the presentation of the media 302.The content item 304 may be an audio-visual content item (e.g., a Flash®video or other media content), an image-only content item, or anaudio-only content item, such as an audio file in the form of a song, ajingle, and so forth. The content item 304 may include text, graphics,multimedia content, programming elements (HTML, flash, scripts, etc.),and any other appropriate format.

A web browser executing on a client device may data to effectpresentation of the resource 300 and media 302. The content source forthe resource 300 and/or the client device sends a content item requestto a content selection service, such as content selection service 104 ofFIG. 1. The content selection service selects a content item to beserved to the client device and displayed in the content item slot ofthe resource 300. In some implementations, a content item provider,e.g., a hat dealer, may bid on keywords, such as “hat,” such that acontent item of the content item provider is served with content relatedto the keyword, such as media associated with hats. Thus, the contentitem 304 which relates to hats, may be presented when a request isreceived and indicates that the request is associated with the keyword“hat.” In some implementations, the media 302 may include one or moretags that may be used as keywords. For example, the media 302 of FIG. 3may be tagged with the keyword “hat” by a publisher, an owner of thevideo content, another user, etc. When the request for a content item issent to the content selection service, the request may include dataindicative of the keyword “hat” such that content items responsive tothe keyword “hat” may be selected by the content selection service. Datato effect presentation of the selected content item 304 may be receivedby the client device such that a web browser executing on the clientdevice displays the content item 304 in the content item slot of theresource 300 along with the media 302. In some implementations, such asaudio-visual content items, the content item 304 may be played for apredetermined amount of time and then muted or playback may be stopped.

If more than one content item 304 may be eligible to be presented withmedia 302, then the content selection service may identify one or morecontent items 304 based on an auction of the candidate content items.The content selection service may be configured to conduct a contentauction among content item providers to determine which candidatecontent item is to be provided. For example, the content selectionservice may conduct a real-time content item auction in response to arequest for a content item. The content selection service may use anynumber of factors to determine the winner of the auction. For example,the winner of a content auction may be based in part on the third-partyprovider's bid and/or a quality score for the third-party provider'scontent (e.g., a value that may be based on a measure of how likely auser viewing the content item is to click on the content item, a measureof how closely related the content item is to the content of theresource 300 (e.g., media 302), etc.). In other words, the highestbidder is not necessarily the winner of a content auction conducted bycontent selection service, in some implementations.

For example, the winner of a content item auction may be the contentitem having the highest value when a bid for the content item ismultiplied by a quality score for the content item. That is, the contentselection service may generate values for each candidate content item ofseveral candidate content items using an equation, such asValue=Bid*QualityScore. The candidate content item with the highestvalue may then be selected and data to effect presentation of theselected candidate content item may be transmitted to the client deviceto effect presentation of the content item, such as content item 304,with the resource 300. In some implementations, the content selectionservice may utilize a variety of factors during the content item auctionthat may affect the quality score. As will be described in greaterdetail herein, a current view profile, an aggregate view profile formedia 302, and/or a content item profile for the content item 304 may beutilized to modify the quality score, thereby influencing which contentitem of several candidate content items is selected during the auctionperformed by the content selection service.

In some implementations, the content item provider associated with thecontent item 304 or the entity hosting the resource 300 may determinewhen the content item 304 is displayed. For example, a content item 304may be displayed prior to the playback of the media 302 (e.g., apre-roll content item), during the playback of the media 302 (e.g., amid-roll content item), and/or after the playback of the media 302(e.g., a post-roll content item). In some implementations, the contentitem 304 may be shown during the playback of the media 302 when aspecific frame of the media 302 displays an item relating to the contentitem 304. In other implementations, the content item 304 may bedisplayed at the beginning of a next media playback (e.g., between mediain a playlist), while the playback of the media 302 is paused, and/orany other appropriate times.

Referring still to FIG. 3, the content item 304 is displayed to theright of the display of the media 302. In some implementations, thecontent item 304 may be displayed below the display of the media 302, asan overlay of the media 302, on a smaller scale than the media 302, andso forth. In some implementations, the content item 304 may initiallyappear on one side of the display of the media 302 and move during theplayback of the media 302. In yet other implementations, the contentitem 304 may be minimized and displayed beneath the display of the media302. For example, the content item 304 may be displayed for severalseconds and then minimized while the media 302 continues playing.

While the foregoing has described the media 302 and the content item 304displayed as part of a resource 300, the media 302 and content item 302may be displayed using any appropriate form. For example, the media 302and content item 304 may be displayed as part of an applicationexecuting on a client device, such as a media watching applicationexecuting on a mobile device.

FIG. 4 is a flow diagram of steps taking in an implementation of anexample process 400 for providing a content item to a client devicebased on an aggregate view profile. Process 400 includes receiving arequest for a content item (block 402). The request may be received by acontent selection service of a server having one or more processors froma client device. The client device is any electronic device under thecontrol of the user and is capable of receiving and requesting contentover a network. The client device may include an application, such as aweb browser, to facilitate providing and receiving content over anetwork, such as requesting video content from a website publisher. Therequest for the content item may be received by the content selectionservice, described above in FIG. 1.

A content item request that the content selection service may receivecan include requesting device information (e.g., a web browser type, anoperating system type, one or more previous resource requests from therequesting device, one or more previous content items received by therequesting device, a language setting for the requesting device, ageographical location of the requesting device, a time of a day at therequesting device, a day of a week at the requesting device, a day of amonth at the requesting device, a day of a year at the requestingdevice, etc.) and resource information (e.g., URL of the requestedresource, one or more keywords of the content of the requested resource,text of the content of the resource, a title of the resource, a categoryof the resource, a type of the resource, etc.). The information that thecontent selection service receives can include a HyperText TransferProtocol (HTTP) cookie which contains a device identifier (e.g., arandom number) that represents the client device. In someimplementations, the device information and/or the resource informationmay be appended to a content item request URL (e.g.,//contentitem.item/page/contentitem?devid=abc123&devnfo=A34r0). In someimplementations, the device information and/or the resource informationmay be encoded prior to being appended the content item request URL. Therequesting device information and/or the resource information may beutilized by the content selection service to determine candidatethird-party content items to be selected from and served to the clientdevice.

In some implementations, the content item request may be transmittedresponsive to a client device requesting a resource that includes amedia item, such as media 302 of FIG. 3. In other implementations, thecontent item request may be transmitted responsive to the client devicerequesting data to effect presentation of the media (e.g., as part of arequest for the media to be viewed using an application executing on theclient device). In still further implementations, the content itemrequest may be transmitted separate from a resource request or requestdata to effect presentation of the media (e.g., during playback ofmedia, a content item request may be transmitted from the client deviceto the content selection service for a mid-roll content item). In someimplementations, the content item request may also include dataindicative of a current view profile, a media identifier, a number ofviews of the media, and/or a current time of a playback of the media.

In some implementations, the data indicative of a current view profilemay be a numerical value indicative of a probable ratio of audio andvideo for the current view profile. That is, the current view profilemay be a numerical value, such as 0.6, where a value of 0 is indicativeof a predominantly audio-centric or audio-only profile and a value of 1is indicative of a predominantly video-centric or video-only profile.Thus, an intermediate value, such as 0.6, may be indicative of a ratioof 60% video to 40% audio. Or, more simply, the current view profile of0.6 may indicate that a user of the client device may be paying moreattention to video than audio based on one or more parameters. Thecurrent view profile and such parameters will be described in greaterdetail herein. In other implementations, the data indicative of acurrent view profile may include the one or more parameters.

The media identifier may be a unique identifier (e.g., an alphanumericsequence generated for each media) that is associated with the media tobe played back or currently playing back on the client device. Forexample, media hosted by a content source may be associated with aunique media identifier generated by the content source such that themedia hosted by the content source may be sorted, searched, retrieved,and/or otherwise organized and manipulated by the content source usingthe unique media identifiers.

The number of views of the media may be determined based upon the mediaidentifier associated with the media to be played back or currentlyplaying back on the client device. The number of views of the media maybe determined based upon a device identifier profile associated with adevice identifier of the client device and/or authentication credentialsvoluntarily provided by a user of the client device (e.g., by a userlogging into a media hosting web site). In some implementations, such aswhen the content selection service and the media hosting content sourcemay be in communication (e.g., a content selection service and a mediahosting content source owned by the same entity or by access permittedby different entities), the number of views may be omitted from acontent item request. In such an implementation, the number of views maybe determined by the content selection service and/or the media hostingcontent source via the media identifier and a device identifier and/orauthentication credentials voluntarily provided by the user of theclient device.

The current time of the playback of the media may also be provided. Thecurrent time of the playback may be an exact time, such as a time stamp,or the current time of the playback may be a bucketized time (e.g., aplayback time of 34 seconds may be categorized as between 30 seconds and40 seconds). As will be describe in greater detail herein, the currenttime of the playback may be used to select a time-based aggregate viewprofile.

The current view profile, the media identifier, the number of views ofthe media, and/or a current time of a playback of the media maysimilarly be appended to the content item request URL and/or otherwisetransmitted with the content item request to the content selectionservice.

The process 400 may further include determining an aggregate viewprofile for a first media (block 404). The aggregate view profile isindicative of how aggregate users interact with the media. For example,the users may interact with media by primarily listening to the media,by primarily viewing the media, or both listening and viewing the media.In some implementations, the aggregate view profile may be a numericalvalue, such as 0.6542, where a value of 0 is indicative of apredominantly audio-centric or audio-only profile and a value of 1 isindicative of a predominantly video-centric or video-only profile. Thus,an intermediate value, such as 0.6542, may be indicative of a ratio of65.42% video to 34.58% audio. Or, more simply, the aggregate viewprofile of 0.6542 may indicate that users who view the media may bepaying more attention to the video than the audio.

The aggregate view profile may be determined based on an aggregation ofvalues indicative of a ratio of audio and video. Each value may be basedon a previously received view profile. In some implementations, a datastructure, such as an array, may be stored in a storage device of thecontent selection service and associated with a media identifierreceived with the request from the client device. The data structure maystore the several values of previously received view profiles for thefirst media. Thus, when the request is received, the content selectionservice or another associated system may average the values to determinethe aggregate view profile. When additional view data is to be added,the additional view profile value may be appended to the array ofvalues. In other implementations, the data structure may simply includea value for the aggregate view profile, such as 0.6542, and a number ofviews, such as 1,405,786. When additional view data is to be added, theaggregate view profile and the number of views may be multiplied and theadditional view profile value may be added to the resulting value, whichis then divided by the incremented number of views to determine a newaggregate view profile value. The new aggregate view profile value andthe incremented number of views may then be stored together forsubsequent use. In some implementations, the aggregate view profile forthe first media may simply be retrieved from the stored data structure.

In some implementations, the first media may include several aggregateview profiles. The different aggregate view profiles may be based on anumber of views for a user of the client device received with therequest and/or otherwise determined based on a device identifier and/orauthentication credentials. The different aggregate view profiles may beseparated into different categories, such as one view, two to fiveviews, six to ten views, and ten or more views. Of course otherbucketization of the categories may be used. Such different aggregateview profiles may be used as users' view profiles may change over thenumber of times the user has viewed the media. For example, a user whohas viewed a music video media several times may no longer be playingback the media for the visual content of the music video; instead, theuser may simply be playing back the media for the audio content.Accordingly, an aggregate view profile for such a music video media maybe more audio-centric for views greater than ten, such as a value of0.1345, but may be more equal for the aggregate view profile for a firstview, such as a value of 0.5.

Further still, in some implementations the aggregate view profile mayinclude several values along a playback time span of the media. Forexample, several aggregate view profile values may be determined forvarious time marks of the playback time span, such as at 10 seconds intoplayback, 15 seconds into playback, 20 seconds into playback, 30 secondsinto playback, 40 seconds into playback, 45 seconds into playback, 50seconds into playback, 60 seconds into playback, etc. The aggregate viewprofile for the various time marks may vary for the media. Using theexample from before, a music video may have a more equally splitaggregate view profile at a 30 second time mark, such as a value of0.4891, but may be more audio-centric at the 60 second time mark, suchas a value of 0.3333. Thus, such time-varying aggregate view profilesmay reflect changes in how users interact with the media over time.

In some implementations, each time mark aggregate view profile may alsobe associated with a number of views for which a view profile was usedto generate that time mark aggregate view profile. For example, manyusers may view a music video content item for the first thirty seconds,but may stop playback or switch to other media thereafter. Accordingly,such number of views may be used to weight the values of aggregate viewprofiles. Such weight may, for example, be used when averaging severaldifferent time mark aggregate view profiles. For instance, if a contentitem is to be shown during the first 30 seconds, then the weightedaverage of the aggregate view profiles for the 10 second time mark, the20 second time mark, and the 30 second time mark may be used as thedetermined aggregate view profile.

In some implementations, metrics may be developed for the view-dependentand/or time-dependent aggregate view profiles to be provided to thecontent provider of the media (e.g., as tabular data in a report or agraphical data in a report, such as a line graph over the number of viewof over the playback time frame). Of course, other analytic uses forsuch aggregate view profiles may be implemented as well.

The previously received view profiles may each be a numerical valueindicative of a ratio of audio and video from a prior user of a clientdevice viewing of the media. The previously received view profiles maybe generated based on one or more parameters. The one or more parametersmay include, for example, a parameter indicative of the orientation of aclient device (e.g., an output from a gyroscope of a mobile device, suchas mobile device 200 of FIG. 2), a parameter indicative of the motion,or lack thereof, of the client device (e.g., an output from anaccelerometer of a mobile device, such as mobile device 200 of FIG. 2),a parameter indicative of a size of an interface for the media (i.e.,indicating if the media is displayed fullscreen), a parameter indicativeof the visibility of the application displaying the media (e.g., awindow stack position, which may indicate if the media is behind otherwindows, and therefore more likely being played for audio content, or aparameter indicating the application is minimized), a parameterindicative of a volume level (e.g., whether the volume is zero or muted,which may indicate the media is likely being played only for the visualcontent), a parameter indicative of view profiles of associated media(e.g., media identifiers for other media in a playlist may be indicativeof how the user interacts with the current media), and/or otherparameters.

The parameter indicative of the orientation of a client device may beindicative of how a user of the client device is viewing a display ofthe device or not. For example, a user may place the device at a 0degree or 180 degree angle, either face up or face down. Such anorientation may be indicative of a user not interacting with the videocontent and likely only interacting with the audio of the media. A usermaintaining the device at a 45 degree angle (or anywhere between 30 and60 degrees) may be indicative of a user watching content on a display ofthe device, thereby indicating that the user is interacting with thevideo content.

Similarly, the parameter indicative of the motion of the device may beindicative of whether a user of the client device is activelyinteracting with the device or not. For example, a user may set thedevice down and not move the device. Such lack of motion may beindicative of a user not interacting with the video content and likelyonly interacting with the audio of the media. A user actively moving andadjusting the device may be indicative of a user watching content on adisplay of the device, thereby indicating that the user is interactingwith the video content.

The parameter indicative of a size of an interface for the media may beindicative of whether a user of the client device is predominatelyviewing the media or not. For example, a user may maximize the media(e.g., expand the display of the media to fullscreen). Such maximizedviewing of the media may be indicative of a user interacting with thevideo content. Conversely, a minimizing of a size of the interface forthe media may be indicative of a user not necessarily watching contenton a display of the device, thereby indicating that the user is likelynot interacting with the video content.

Similarly, the parameter indicative of a visibility of the applicationdisplaying the media may be indicative of whether a user of the clientdevice is predominately viewing the media or not. For example, a windowfor the application may be in the back of a window stack. Such positionof the window may be indicative of a user not interacting with the videocontent. In addition, a minimization of the window of the applicationmay be indicative of a user not interacting with the video content.Conversely, having the window at the front of a window stack may beindicative of a user likely interacting with the video content.

The parameter indicative of the volume level (either for the clientdevice or for the media) may be indicative of whether a user of theclient device is predominately listening to the audio or not. Forexample, a user may set a volume level to zero or mute. Such low volumelevel may be indicative of a user predominantly interacting with thevideo content. In some implementations, a lack of change in the volumelevel may be indicative of a user interacting with the video content. Ahigher volume level may be indicative of a user interacting with theaudio content.

Still a further parameter may include a parameter indicative of viewprofiles of associated media. For example, the media may be associatedwith other media via a playlist. In some implementations, the parametermay simply include media identifiers for other media in the playlist.The aggregate view profile for a second media may be indicative of how auser interacts with the current media. That is, if a second media in aplaylist has an audio-centric aggregate view profile, the current mediamay likely also have an audio-centric view profile. Of course, thepreviously received view profiles may be based on other parameters.

In some implementations, the aggregate view profiles may not be utilizeduntil a threshold number of previously received view profiles can beaggregated. For example, an aggregate view profile may not be used untilat least 1000 previously received view profiles can be aggregated. Sucha threshold value may reduce the likelihood of an erroneous aggregateview profile being utilized and serving a content item having adivergent content item profile.

Referring still to FIG. 4, process 400 includes receiving a content itemprofile (block 406). In some implementations, several content itemprofiles may be received for a set of candidate content items. Thecontent item provider may specify a type of content item profile for thecontent selection system. For example, the content item provide mayspecify that an image content item, such as a banner advertisement, isimage-only (e.g., a content item profile with a value of 1). The contentitem provider may specify that an audio content item is audio-only(e.g., a content item profile with a value of 0). Further still thecontent item provider may specify an intermediate value for anaudio-visual content item. In some implementations, the content itemprovider may specify discrete intermediate values via inputting thevalue into a data entry field, by manipulating a slider, etc. Forexample, a content item provider may specify an audio-visual contentitem as having a content item profile with a value of 0.6 for a morevisual than audio content item.

In come implementations, the content item profile may be determinedbased on a aggregate view profile of a second media associated with thecontent item. For example, an audio-visual content item (e.g., a videoadvertisement) may utilize media (e.g., the video) hosted by a mediasharing website. Accordingly, the content item profile may be based onan aggregate view profile of the second media with which the contentitem is associated. In other implementations, the content item links tomedia hosted on such a media sharing website. Accordingly, the contentitem profile may be based on the aggregate view profile of the media ofthe landing page of the content item.

A content item may be selected based on the aggregate view profile andthe content item profile (block 408). In some implementations a set ofcandidate content items may be eligible to be presented with mediaresponsive to the request for a content item. The media may be taggedwith a keyword and the set of candidate content items may be selected bythe content selection service based on bidding on the keyword. Thecontent selection service may then identify one or more content itemsbased on an auction of the candidate content items. The contentselection service may be configured to conduct a content auction amongcontent item providers to determine which candidate content item is tobe provided. The content selection service may use any number of factorsto determine the winner of the auction. For example, the winner of acontent auction may be based in part on the third-party provider's bidand/or a quality score for the third-party provider's content.

For example, the winner of a content item auction may be the contentitem having the highest value when a bid for the content item ismultiplied by a quality score for the content item. That is, the contentselection service may generate values for each candidate content item ofseveral candidate content items using an equation, such asValue=Bid*QualityScore. In some implementations, the content selectionservice may utilize a variety of factors during the content item auctionthat may affect the quality score.

The quality score may be influenced by how well a candidate content itemmatches how a user will interact with the media. For example, acomparison between the candidate content item profile and the aggregateview profile may be performed. Such a comparison may simply besubtracting the content item profile from the aggregate view profile orvice versa. The larger the difference between the content item profileand the aggregate view profile, the less likely the candidate contentitem would fit being presented based on how users tend to interact withthe media. The nearer the difference is to zero, the more likely thecandidate content item would fit being presented based on how users tendto interact with the media. That is, if the media has an aggregate viewprofile having a value of 0.7, indicative of a view profile of 70% videoand 30% audio, then the content selection service preferably serves acontent item having a content item profile having a value of 0.7,indicative of a profile of 70% video and 30% audio. Of course, such amatching of the content item profile and the aggregate view profile mayonly be one factor affecting the quality score.

Content item profiles that diverge from the aggregate view profile forthe media may have the quality score negatively impacted. That is, thecomparison of the candidate content item profile and the aggregate viewprofile may be used to modify a quality score of the candidate contentitem. For example, an absolute value of the difference between thecandidate content item profile and the aggregate view profile may besubtracted from a quality score. In some implementations, a weightfactor may be applied. Such a weight factor may be determined viamachine learning.

The process 400 further includes serving the selected content itemresponsive to the request from the client device. Serving the contentitem to the client device may include transmitting data to effectpresentation of the selected content item by the content selectionservice, such as content selection service 104 of FIG. 1, to a clientdevice and/or a content source via a network. The data for the contentitem may include graphical data, textual data, image data, audio data,video data, etc. that may be accessed from a database or other datastore.

Selection of the content item may result in the client devicetransmitting a request for a landing page associated with the contentitem. The landing page may be displayed on the client device in aseparate webpage from a webpage or application displaying the media orthe landing page may replace the webpage displaying the media.

FIG. 5 is a flow diagram of another example process for providing acontent item to a client device based on an aggregate view profile.Process 500 includes receiving a request for a content item (block 502).The receiving of the request for a content item (block 502) may beperformed in a substantially similar manner to the receiving of arequest for a content item (block 402) described herein in reference toFIG. 4. Process 500 also includes receiving an aggregate view profilefor a first media (block 504). The aggregate view profile is similar tothe aggregate view profile described in reference to the determining ofan aggregate view profile for a first media (block 404) described hereinin reference to FIG. 4. The receiving of the aggregate view profile fora first media (block 504) may simply include receiving the value for anaggregate view profile, which may be received either based on adetermination of the aggregate view profile by a content selectionservice and/or may be received from another system, which may beseparate or independent of the content selection service.

The process 500 further includes determining a current view profile(block 506). In some implementations, the determining of the currentview profile may simply be receiving a value for the current viewprofile from a client device. In other implementations, severalparameters may be received from the client device and the contentselection service may determine the current view profile based on theparameters. The value for the current view profile and/or the parametersmay be received each time a content item request is sent to the contentselection service.

The parameters for the current view profile may include a parameterindicative of the orientation of a client device (e.g., an output from agyroscope of a mobile device, such as mobile device 200 of FIG. 2), aparameter indicative of the motion, or lack thereof, of the clientdevice (e.g., an output from an accelerometer of a mobile device, suchas mobile device 200 of FIG. 2), a parameter indicative of a size of aninterface for the media (i.e., indicating if the media is displayedfullscreen), a parameter indicative of the visibility of the applicationdisplaying the media (e.g., a window stack position, which may indicateif the media is behind other windows, and therefore more likely beingplayed for audio content, or a parameter indicating the application isminimized), a parameter indicative of a volume level (e.g., whether thevolume is zero or muted, which may indicate the media is likely beingplayed only for the visual content), a parameter indicative of viewprofiles of associated media (e.g., media identifiers for other media ina playlist may be indicative of how the user interacts with the currentmedia), and/or other parameters. The parameters are described in greaterdetail herein.

In some implementations, the current view profile may be based on anaverage of the values for the parameters over a preceding predeterminedperiod of time. For example, the values output from a gyroscope over thepreceding 5 seconds may be averaged and the parameter indicative theorientation of a client device may be based on the average value.Similar averages may be applied to the other parameters. Thepredetermined period of time may include 1 second, 2 seconds, 5 seconds,10 seconds, 15 seconds, 20 seconds, 30 seconds, etc.

The parameters may be used as inputs to an equation to determine a valuefor the current view profile. For example, the parameter indicative ofthe orientation of a client device, parameter indicative of the motion,or lack thereof, of the client device, parameter indicative of a size ofan interface for the media, parameter indicative of the visibility ofthe application displaying the media, parameter indicative of a volumelevel, and/or the parameter indicative of view profiles of associatedmedia may be input into an equation to determine a numerical value, suchas 0.6, for the current view profile based on the parameters. In someimplementations, the equation may be determined via machine learning(e.g., using a corpus of parameter data and corresponding data for thenumerical values indicative of a ratio of audio and video).

In some implementations, the current view profile may be used by thecontent selection service to add to the aggregate view profile for amedia for subsequent content item requests to present content items withthe media associated with the aggregate view profile.

The process 500 further includes receiving a content item profile (block508). The receiving a content item profile (block 508) may be performedin a substantially similar manner to the receiving a content itemprofile (block 406) described herein in reference to FIG. 4.

The process 500 also includes selecting a content item based on theaggregate view profile, the current view profile, and the content itemprofile (block 510). In some implementations a set of candidate contentitems may be eligible to be presented with media responsive to therequest for a content item. The media may be tagged with a keyword andthe set of candidate content items may be selected by the contentselection service based on bidding on the keyword. The content selectionservice may then identify one or more content items based on an auctionof the candidate content items. The content selection service may beconfigured to conduct a content auction among content item providers todetermine which candidate content item is to be provided. The contentselection service may use any number of factors to determine the winnerof the auction. For example, the winner of a content auction may bebased in part on the third-party provider's bid and/or a quality scorefor the third-party provider's content.

For example, the winner of a content item auction may be the contentitem having the highest value when a bid for the content item ismultiplied by a quality score for the content item. That is, the contentselection service may generate values for each candidate content item ofseveral candidate content items using an equation, such asValue=Bid*QualityScore. In some implementations, the content selectionservice may utilize a variety of factors during the content item auctionthat may affect the quality score.

The quality score may be influenced by how well a candidate content itemmatches how a user will interact with the media. For example, acomparison between the candidate content item profile and the aggregateview profile may be performed. Such a comparison may simply besubtracting the content item profile from the aggregate view profile orvice versa. The larger the difference between the content item profileand the aggregate view profile, the less likely the candidate contentitem would fit being presented based on how users tend to interact withthe media. The nearer the difference is to zero, the more likely thecandidate content item would fit being presented based on how users tendto interact with the media. That is, if the media has an aggregate viewprofile having a value of 0.7, indicative of a view profile of 70% videoand 30% audio, then the content selection service preferably serves acontent item having a content item profile having a value of 0.7,indicative of a profile of 70% video and 30% audio.

Content item profiles that diverge from the aggregate view profile forthe media may have the quality score negatively impacted. That is, thecomparison of the candidate content item profile and the aggregate viewprofile may be used to modify a quality score of the candidate contentitem. For example, an absolute value of the difference between thecandidate content item profile and the aggregate view profile may besubtracted from a quality score. In some implementations, a weightfactor may be applied. Such a weight factor may be determined viamachine learning.

In some implementations, a comparison between the candidate content itemprofile and the current view profile may be performed, either inaddition to or in lieu of the comparison of the candidate content itemprofile and the aggregate view profile. Such a comparison may simply besubtracting the content item profile from the current view profile orvice versa. The larger the difference between the content item profileand the current view profile, the less likely the candidate content itemwould fit being presented based on how a user is currently interactingwith the media. The nearer the difference is to zero, the more likelythe candidate content item would fit being presented based on how a useris currently interacting with the media. That is, if current viewprofile has a value of 0.7, indicative of a current view profile of 70%video and 30% audio, then the content selection service preferablyserves a content item having a content item profile having a value of0.7, indicative of a profile of 70% video and 30% audio.

Content item profiles that diverge from the current view profile for themedia may have the quality score negatively impacted. That is, thecomparison of the candidate content item profile and the current viewprofile may be used to modify a quality score of the candidate contentitem. For example, an absolute value of the difference between thecandidate content item profile and the current view profile may besubtracted from a quality score. In some implementations, a weightfactor may be applied. Such a weight factor may be determined viamachine learning.

In some implementations, an average of the current view profile and theaggregate view profile may be used prior to being compared to thecontent item profile. For example, a current view profile of 0.4 and anaggregate view profile of 0.6 may average out to 0.5, such that acontent item having a content item profile of 0.5 would match theaveraged value.

In other implementations, the current view profile and the aggregateview profile may be input into an equation to determine a combinedvalue. That is, in some instances, it may be preferable to weight thecurrent view profile more than the aggregate view profile or vice versa.Such an equation may be determined via machine learning. The combinedvalue may be used as a modifier. The quality score for a candidatecontent item may then be modified based on the modifier and the contentitem profile for the candidate content item. For example, an absolutevalue of the difference between the candidate content item profile andthe modifier may be subtracted from a quality score. In someimplementations, a weight factor may be applied. Such a weight factormay be determined via machine learning.

In some implementations, an aggregate view profile may not exist and/ormay not be above a threshold number of views to be used. Accordingly,the selection of the content item may be based on the current viewprofile and the content item profile. Accordingly, a comparison betweenthe current view profile and the content item profile may be performedand used to modify the quality score for a candidate content item asdescribed in greater detail herein.

The process 500 further includes serving the content item (block 512).The serving of the content item (block 512) may be performed in asubstantially similar manner to the serving of the content item (block410) described herein in reference to FIG. 4.

In some implementations, a second content item request may be received.The process 500 may then repeat using a new current view profile, eitherreceived with the second content item request and/or determined based onnew parameters received from the client device.

FIG. 6 is a flow diagram of an example process for generating a currentview profile. The process 600 may be performed by the client device andthe current view profile may be outputted to a content selectionservice. The process 600 includes receiving input parameters (block602). The parameters for the current view profile may include aparameter indicative of the orientation of a client device (e.g., anoutput from a gyroscope of a mobile device, such as mobile device 200 ofFIG. 2), a parameter indicative of the motion, or lack thereof, of theclient device (e.g., an output from an accelerometer of a mobile device,such as mobile device 200 of FIG. 2), a parameter indicative of a sizeof an interface for the media (i.e., indicating if the media isdisplayed fullscreen), a parameter indicative of the visibility of theapplication displaying the media (e.g., a window stack position, whichmay indicate if the media is behind other windows, and therefore morelikely being played for audio content, or a parameter indicating theapplication is minimized), a parameter indicative of a volume level(e.g., whether the volume is zero or muted, which may indicate the mediais likely being played only for the visual content), a parameterindicative of view profiles of associated media (e.g., media identifiersfor other media in a playlist may be indicative of how the userinteracts with the current media), and/or other parameters.

A current view profile may be generated based on the input parameters(block 604). The parameters may be used as inputs to an equation todetermine a value for the current view profile. For example, theparameter indicative of the orientation of a client device, parameterindicative of the motion, or lack thereof, of the client device,parameter indicative of a size of an interface for the media, parameterindicative of the visibility of the application displaying the media,parameter indicative of a volume level, and/or the parameter indicativeof view profiles of associated media may be input into an equation todetermine a numerical value, such as 0.6, for the current view profilebased on the parameters. In some implementations, the equation may bedetermined via machine learning (e.g., using a corpus of parameter dataand corresponding data for the numerical values indicative of a ratio ofaudio and video). Data for the equation to determine the current viewprofile may be transmitted to a client device in response to a requestfor a content item.

In some implementations, the current view profile may be based on anaverage of the values for the parameters over a preceding predeterminedperiod of time. For example, the values output from a gyroscope over thepreceding 5 seconds may be averaged and the parameter indicative theorientation of a client device may be based on the average value.Similar averages may be applied to the other parameters. Thepredetermined period of time may include 1 second, 2 seconds, 5 seconds,10 seconds, 15 seconds, 20 seconds, 30 seconds, etc.

The current view profile may be outputted (block 606). The outputting ofthe current view profile may simply include transmitting a numericalvalue, such as 0.6, representative of the current view profile to thecontent selection service. The content selection service may then usethe current view profile to select and serve a content item forpresentation with media to be played back by the client device, such asdescribed in reference to FIG. 5.

In some implementations, the a device-specific view profile may also begenerated based on prior view data associated with a device identifierand/or authentication credentials (e.g., a username and password)voluntarily provided by a user. The device-specific view profile mayalso include one or more interests of the user. The user may control thedevice-specific view profile, such as updating, modifying, and/ordeleting the device-specific view profile. The user may also share thedevice-specific view profile on a social network. In someimplementations, the device-specific view profile may be used by acontent source, such as a media sharing website, to infer how a user ofthe device will interact with other media and store these inferences inthe device-specific view profile. In some implementations, thedevice-specific view profile and/or the current view profile may be usedby a content source, such as a media hosting website, to suggest othermedia to view.

Implementations of the subject matter and the operations described inthis specification can be implemented in digital electronic circuitry,or in computer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Implementations of the subjectmatter described in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on one or more computer storage medium forexecution by, or to control the operation of, data processing apparatus.Alternatively or in addition, the program instructions can be encoded onan artificially-generated propagated signal, e.g., a machine-generatedelectrical, optical, or electromagnetic signal, that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium canbe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially-generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate components or media (e.g., multiple CDs, disks, or otherstorage devices). Accordingly, the computer storage medium may betangible.

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “client or “server” include all kinds of apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), to name just a few.Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube), LCD (liquidcrystal display), OLED (organic light emitting diode), TFT (thin-filmtransistor), plasma, other flexible configuration, or any other monitorfor displaying information to the user and a keyboard, a pointingdevice, e.g., a mouse, trackball, etc., or a touch screen, touch pad,etc., by which the user can provide input to the computer. Other kindsof devices can be used to provide for interaction with a user as well;for example, feedback provided to the user can be any form of sensoryfeedback, e.g., visual feedback, auditory feedback, or tactile feedback;and input from the user can be received in any form, including acoustic,speech, or tactile input. In addition, a computer can interact with auser by sending documents to and receiving documents from a device thatis used by the user; for example, by sending webpages to a web browseron a user's client device in response to requests received from the webbrowser.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described in this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), an inter-network (e.g., theInternet), and peer-to-peer networks (e.g., ad hoc peer-to-peernetworks).

The features disclosed herein may be implemented on a smart televisionmodule (or connected television module, hybrid television module, etc.),which may include a processing circuit configured to integrate Internetconnectivity with more traditional television programming sources (e.g.,received via cable, satellite, over-the-air, or other signals). Thesmart television module may be physically incorporated into a televisionset or may include a separate device such as a set-top box, Blu-ray orother digital media player, game console, hotel television system, andother companion device. A smart television module may be configured toallow viewers to search and find videos, movies, photos and othercontent on the web, on a local cable TV channel, on a satellite TVchannel, or stored on a local hard drive. A set-top box (STB) or set-topunit (STU) may include an information appliance device that may containa tuner and connect to a television set and an external source ofsignal, turning the signal into content which is then displayed on thetelevision screen or other display device. A smart television module maybe configured to provide a home screen or top level screen includingicons for a plurality of different applications, such as a web browserand a plurality of streaming media services, a connected cable orsatellite media source, other web “channels”, etc. The smart televisionmodule may further be configured to provide an electronic programmingguide to the user. A companion application to the smart televisionmodule may be operable on a mobile computing device to provideadditional information about available programs to a user, to allow theuser to control the smart television module, etc. In alternateembodiments, the features may be implemented on a laptop computer orother personal computer, a smartphone, other mobile phone, handheldcomputer, a tablet PC, or other computing device.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of any claims,but rather as descriptions of features specific to particularimplementations. Certain features that are described in thisspecification in the context of separate implementations can also beimplemented in combination in a single implementation. Conversely,various features that are described in the context of a singleimplementation can also be implemented in multiple implementationsseparately or in any suitable subcombination. Moreover, althoughfeatures may be described above as acting in certain combinations andeven initially claimed as such, one or more features from a claimedcombination can in some cases be excised from the combination, and theclaimed combination may be directed to a subcombination or variation ofa subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims can beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking orparallel processing may be utilized.

What is claimed is:
 1. A method to serve a content item based on a viewprofile comprising: receiving, at one or more processors, a request fora content item from a client device; determining, by one or moreprocessors, an aggregate view profile for a first media, the aggregateview profile based, at least in part, on aggregated values indicative ofa ratio of audio and video, each value based on a previously receivedview profile; receiving, by one or more processors, a content itemprofile for a content item; comparing, by one or more processors, theaggregate view profile and the content item profile; and serving, by oneor more processors, the content item responsive to the request from theclient device based, at least in part, on the comparison of theaggregate view profile and the content item profile.
 2. The method ofclaim 1 further comprising: determining, by one or more processors, acurrent view profile; comparing, by one or more processors, the currentview profile with the content item profile; wherein serving the contentitem responsive to the request from the client device is further basedon the comparison of the current view profile and the content itemprofile.
 3. The method of claim 2, wherein the current view profile is anumerical value indicative of a ratio of audio and video.
 4. The methodof claim 3, wherein the current view profile is based on a plurality ofparameters, each parameter of the plurality of parameters indicative ofuser interaction with the first media.
 5. The method of claim 4, whereina parameter of the plurality of parameters is indicative of anorientation of the client device.
 6. The method of claim 4, wherein aparameter of the plurality of parameters is indicative of a size of aninterface for the first media at the client device.
 7. The method ofclaim 4, wherein a parameter of the plurality of parameters isindicative of motion of the client device.
 8. The method of claim 4,wherein a parameter of the plurality of parameters is indicative of avolume level of the client device.
 9. The method of claim 8, wherein thevolume level is zero.
 10. The method of claim 4, wherein the currentview profile is further based on an aggregate view profile of a secondmedia, the second media and the first media associated via a playlist.11. A system comprising: one or more processors; and a storage devicestoring instructions that, when executed by the one or more processors,cause the one or more processors to perform operations comprising:receiving a request for a content item from a client device, receivingan aggregate view profile for a first media, determining a current viewprofile of the client device for the first media, receiving a pluralityof content item profiles for a plurality of candidate content items,selecting a candidate content item of the plurality of candidate contentitems based, at least in part, on the received aggregate view profile,the determined current view profile, and the plurality of content itemprofiles, and serving, responsive to the request from the client device,the selected candidate content item.
 12. The system of claim 11, whereinthe current view profile is a numerical value indicative of a ratio ofaudio and video.
 13. The system of claim 11, wherein the current viewprofile is based, at least in part, on a plurality of parameters, eachparameter of the plurality of parameters indicative of user interactionwith the first media.
 14. The system of claim 11, wherein a firstparameter of the plurality of parameters is indicative of a size of aninterface for the first media at the client device, and wherein a secondparameter of the plurality of parameters is indicative of a volume levelof the client device.
 15. The system of claim 11, wherein the aggregateview profile is based, at least in part, on a plurality of valuesindicative of a ratio of audio and video, each value based on apreviously received view profile.
 16. A computer-readable storage mediumhaving machine instructions stored therein that when executed by one ormore processors, cause the one or more processors to perform operationscomprising: receiving a current view profile of a client device for afirst media; receiving a first aggregate view profile for the firstmedia; determining a modifier based, at least in part, on the currentview profile and the aggregate view profile; modifying a quality scoreof a content item based, at least in part, on the modifier and a contentitem profile associated with the content item; and serving the contentitem responsive to a request from the client device.
 17. Thecomputer-readable storage medium of claim 16, wherein content itemprofile is based on a second aggregate view profile of a second mediaassociated with the content item.
 18. The computer-readable storagemedium of claim 16, wherein the content item profile is based on acontent item provider selection.
 19. The computer-readable storagemedium of claim 16, wherein the current view profile is a firstnumerical value and the first aggregate view profile is a secondnumerical value, wherein the first numerical value and the secondnumerical values are indicative of a ratio of audio and video.
 20. Thecomputer-readable storage medium of claim 16, wherein the current viewprofile is based, at least in part, on a plurality of parameters, eachparameter of the plurality of parameters indicative of user interactionwith the first media.